#ifndef _TIMEESTIMATE_H_
#define _TIMEESTIMATE_H_

/*
	Each-Function Procession-Time Calcurate Class
*/
namespace utillib
{
	namespace util
	{
		#define PERFOMANCE_TEST_TIME	300

		class TimeEstimate
		{
		public:
			TimeEstimate();
			virtual ~TimeEstimate();
			void start();
			void finish();
			long int getTimeEstimate();
		private:
			__int64 m_start;
			__int64 m_finish;
			__int64 m_frequence;
			
		};

		class TimeEstimateZone
		{
		public:
			TimeEstimateZone( TimeEstimate *timeEstimate )
			{
				m_timeEstimate= timeEstimate;

				m_timeEstimate->start();
			};

			virtual ~TimeEstimateZone()
			{
				m_timeEstimate->finish();
			};
		private:
			TimeEstimate *m_timeEstimate;
		};
	}
}

#endif
